package net.neptech.config;

import com.alibaba.cloud.ai.dashscope.chat.DashScopeChatModel;
import com.alibaba.cloud.ai.dashscope.chat.DashScopeChatOptions;
import org.springframework.ai.chat.client.ChatClient;
import org.springframework.ai.chat.client.advisor.SimpleLoggerAdvisor;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
/**
 * @Author HuangZhengmin
 * @desc  AI客户端配置
 * @Date 2025/8/19 17:20
 * @Version 1.0
 */
@Configuration
public class ChatClientConfig {

  /**
   * 配置ChatClient实例，添加日志顾问和系统提示
   */
  @Bean
  public ChatClient chatClient(DashScopeChatModel dashScopeChatModel) {  // 显式依赖阿里模型
    return ChatClient.builder(dashScopeChatModel)
            .defaultOptions(DashScopeChatOptions.builder()
                    .withModel("qwen-plus-latest")
                    .withTemperature(0.7)
                    .build())
            // 设置系统提示词，定义AI角色和行为
            .defaultSystem("你是专业的医疗问诊辅助系统，遵循以下规则：\n" +
                    "1. 仅提供医学相关的建议和分析\n" +
                    "2. 回答准确、简洁，基于循证医学\n" +
                    "3. 对不确定的内容明确说明，不猜测\n" +
                    "4. 对于非问诊类请求，请礼貌回应并提供相应指引\n" +
                    "5. 始终提醒用户系统建议不能替代医生诊断\n" +
                    "6. 遇到紧急情况优先建议立即就医")
            .defaultAdvisors(new SimpleLoggerAdvisor())
            .build();
  }
}
